#面型对象的三大特性
#封装
class person:

    #普通方法（实例方法）
    def sayHello(self):
        pass
    #静态方法（不需要叫self）需要加装饰器 java注解
    @staticmethod
    def staticMethod():
        print('hello')
    #类方法（参数是类名）装饰器
    #类方法不需要实例化可以直接调用
    @classmethod
    def classMethod(person):
        print('我是一个类方法')
    #魔法方法（类中定义好名称的方法）
    #每个魔法方法都有他的意义
    #魔法方法 __方法名__
    def __init__(self):
        print("我被实例化了")
    def __str__(self):
        print("你在叫我吗")
        return "你在叫我吗"


if __name__ == '__main__':
    person.staticMethod()
    person.classMethod()
    p = person()